package com.smartwebx.ha.biz.rainwater.real;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.smartwebx.ha.dal.assign.bean.HaArea;
import com.smartwebx.ha.dal.usebean.DateValue;
import com.smartwebx.ha.dal.usebean.RainSlideDay;
import com.smartwebx.ha.dal.usebean.RainSlideHour;
import com.smartwebx.ha.dal.usebean.SuperStatGroup;
import com.smartwebx.ha.dal.usebean.SuperStatGroup2;

/**
 * GIS 面雨量
 * 
 * @author zhangxi
 * 
 */
public interface LayerRainfallManager {
	/**
	 * 获得日滑动分析
	 * 
	 * @param stcd
	 * @param processList
	 * @return
	 */
	public RainSlideDay getRainSlideDay(String stcd, List<DateValue> process);

	/**
	 * 获得小时滑动分析
	 * 
	 * @param stcd
	 * @param processList
	 * @return
	 */
	public RainSlideHour getRainSlideHour(String stcd, List<DateValue> process);

	/**
	 * 获得面雨量值
	 * 
	 * @param startDate
	 * @param endDate
	 * @param purposeTypeName
	 *            面雨量类型（雨量100、雨量150、水资源分区雨量码） 默认 雨量100
	 * @return
	 */
	/*
	 * public List<SuperStatGroup> getLayerRainfall(int areaId, Map<String,
	 * Double> statValMap);
	 */
	public List<SuperStatGroup> getLayerRainfall(HaArea area,
			Map<String, Double> statValMap);

	public List<SuperStatGroup2> getSimpleStatGroup(String astcd,
			String startDate, String endDate);

	/**
	 * 面雨量日过程
	 * 
	 * @param astcd
	 *            分区站群码
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public List<DateValue> getDayLayerRainfall(String astcd, Date startDate,
			Date endDate);

	public List<DateValue> getDayLayerRainfall2(String astcd, Date startDate,
			Date endDate);

	/**
	 * 面雨量小时过程
	 * 
	 * @param astcd
	 *            分区站群码
	 * @param startHour
	 * @param endHour
	 * @return
	 */
	public List<DateValue> getHourLayerRainfall(String astcd, Date startHour,
			Date endHour);

	public List<DateValue> getHourLayerRainfall2(String astcd, Date startHour,
			Date endHour);
}
